/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ventas.dao;

import com.ventas.bean.Personal;
import com.ventas.bean.Usuario;
import com.ventas.service.UsuarioInterface;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author joseph
 */
public class UsuarioDao implements UsuarioInterface{

    @Override
    public Usuario Login(String Usu, String Pass) throws Exception {
        Connection cn=null;
        CallableStatement cstm=null;
        ResultSet rs=null;
        Usuario u=null;
        try{
            cn=Conexion.getConexion();
            String sql="call spLogin(?,?);";
            cstm=cn.prepareCall(sql);
            cstm.setString(1, Usu);
            cstm.setString(2, Pass);
            
            rs=cstm.executeQuery();
            if(rs.next()){
                u=new Usuario();
                Personal p = new Personal();
                p.setPer_id(rs.getInt(1));      
                
                u.setInt_usuario_id(rs.getInt(2));
                u.setVar_usuario_name(rs.getString(3));
                p.setPer_nombres(rs.getString(4));
                p.setPer_apellidos(rs.getString(5));
                u.setPersonal(p);
            }
        
            
        }catch(Exception e){
            u=null;
            System.out.println("Error de Logueo"+e.getMessage());
            e.printStackTrace();
            
        }finally{
            
            cstm.close();
            rs.close();
            cn.close();
        }
        return u;
            
    }

//    @Override
//    public List<Usuario> ListarUsuarios() throws Exception {
//        Connection cn=null;
//        CallableStatement cstm=null;
//        ResultSet rs=null;
//        List<Usuario> list=null;
//        try {
//            cn=Conexion.getConnection();
//            String sql="call spF_ListarUsuarios();";
//            cstm=cn.prepareCall(sql);
//            list=new ArrayList();
//            rs=cstm.executeQuery();
//            while(rs.next()){
//                Usuario u=new Usuario();
//                Personal p=new Personal();
//                Personal pe=new Personal();
//                u.setInt_usuario_id(rs.getInt(1));
//                u.setVar_usuario_name(rs.getString(2));
//                u.setVar_usuario_clave(rs.getString(3));
//                
//                p.setVar_personal_nombre(rs.getString(8));
//                
//                u.setPersonal(p);
//                u.setVar_usuario_estado(rs.getString(5));
//                u.setInt_usuario_cargo(rs.getInt(6));
//                if(rs.getString(5).equalsIgnoreCase("1")){
//                    u.setVar_usuario_estadonombre("Activo");
//                }else{
//                    u.setVar_usuario_estadonombre("No Activo");
//                }
//                
//                list.add(u);
//            }
//        } 
//        catch (Exception e) {
//            System.out.println("Error de Listado"+e.getMessage());
//            e.printStackTrace();
//        }
//        return list;
//    }
//
//    @Override
//    public boolean InsertarUsuario(Usuario u) throws Exception {
//        Connection cn=null;
//        CallableStatement cstm=null;
//        boolean resultado=false;
//        
//        try {
//            cn=Conexion.getConnection();
//            String sql="call spI_InsertarUsuario(?,?,?,?);";
//            cstm=cn.prepareCall(sql);
//            cstm.setString(1,u.getVar_usuario_name());
//            cstm.setString(2,u.getVar_usuario_clave());
//            cstm.setInt(3,u.getPersonal().getnPerCodigo());
//            cstm.setInt(4,u.getInt_usuario_cargo());
//            
//              
//            cstm.execute();
//            resultado=true;
//        } 
//        catch (Exception e) {
//            resultado=false;
//        }finally{
//            cstm.close();
//            cn.close();
//        }
//        return resultado;
//    }
    
}
